Skip to content

fix: track history origins and project complete viewport text (#29) - #113

Closed
JavaZeroo wants to merge 14 commits into
fix/cached-history-r29from
fix/history-viewport-r29
Closed

JavaZeroo wants to merge 14 commits into
fix/cached-history-r29from
fix/history-viewport-r29

Conversation

@JavaZeroo

Copy link
Copy Markdown
Owner

resize 与重绘后,缓存历史和原生重排片段可能重复或失去边界;混宽历史还会生成非矩形页面,使选择和 Find 使用错误坐标。本 PR 为候选核心增加操作来源追踪及 C++ 来源组合,保留完整源文档,并让显示、鼠标选择和 Find 通过源坐标映射。

这是叠加在 Draft #110(fix/cached-history-r29)上的独立 Draft,包含此前尚未推送的 termforge.7–.10 工作;不是最终核心选型,未合入 main。Refs #29,保留 #29 / R2 开放。

主要变更

  • 原生 resize/feed 导出有 epoch 生命周期的来源区间;C++ 跟踪缓存归属、部分淘汰、空硬边界与真实重复输出,不按文本去重。修复容量计账、样式空格来源及历史维护打断待续字素的反例。
  • 完整历史软链按当前宽度投影,活动网格保持物理布局;每页携带拥有值的来源映射,连接鼠标、选择/Find 高亮和源列 reveal。保留空历史锚点,Snapshot 拒绝非法形状。
  • 整理固定 WindTerm 2.7.0 的 ASCII 文本折行与单次 CUP/DSR 观察,明确文本接口不等于物理网格或通用覆盖政策;更新来源、能力与证据文档。

验证

固定源码 / 配置 结果
f41f747;Windows 11 x64 Release / 显式候选 .10 / 系统 ConPTY 最终完整 CTest 57/57,308.33 秒;内部 9 项跳过(8 实际系统剪贴板 + 1 未启用原版失败注入),208 项冻结文件哈希匹配
1fafb99;相同配置 原 history 与 681 高度 selection 场景各一次通过;无超时,Job=0、desktop 已回收,selection 未使用系统剪贴板
先前 .10 原生源码检查点 Rust workspace 205、trace runner 6/6;本轮未修改或重跑 Rust,来源身份与最终 CTest 分列

矩形页、宽字旧 wrap gap、Find 源列、空历史锚点和形状门禁有实际红→绿;映射接口的初次红为编译红。旧宽字判据受到 ASCII helper 干扰的失败单独保留。最新视口切片两轴审查无新增未解决问题;更早来源组合保留一个非阻断维护建议。

最终发布提交 beedcedd66e53713ca05e86f43a6d09195b62772 只在 f41f747 后补文档/证据,没有改变编译输入。视口验证与边界 · 验证身份

仍未完成与当前状态

  • partial-visible 仍出现 B-before-A 源顺序错误;混合来源、多 owner 与历史/活动区交叉尚未闭合。显示正确不消除此问题。
  • 旧源码 52/53 及两项 shell 不同失败路径继续留证;新运行通过不反填历史根因。
  • 原版 Unicode/交互/通用覆盖行为、实际系统输入、不同 DPI、完整 child/模式交叉、实验官方后端和性能分别未验收。未执行纯 view-width-only 实验;布局与映射查询成本未测。
  • 按用户要求完成本次收尾后暂停推进,不继续处理剩余问题。GitHub hosted 运行另行记录,不由本地通过推断。

@JavaZeroo

Copy link
Copy Markdown
Owner Author

按 #29 路线裁决(选项 C)关闭:本 PR 是整条栈的收口(50+ 文件、含 CMakeLists.txt、docs/milestones/R2-local-terminal.md),建立在被取代的行模型上。

可叠加的部分已分别落地:#263(回放坐标失效修复)、#264(�iew_mapping 映射层)。其余实现与 #169 的行存储路线冲突,不再作为候选。

分支保留供参考。

@JavaZeroo JavaZeroo closed this Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant